In a typical communication network, traffic flows are transmitted in tunnels aggregated/multiplexed in hierarchy. For example, in a Multi-Protocol Label Switching-Transport Profile (MPLS-TP) network, traffic flows can be transmitted in such a hierarchy that one or more traffic flows are multiplexed into a Pseudo Wire (PW), one or more PWs are multiplexed into a Label Switch Path (LSP), and one or more LSPs are multiplexed into a section.
As an example, FIG. 6 shows a conventional configuration of network protection in such a hierarchical network. As shown, two traffic paths are set up between the edge node A and the edge node C, that is, a working path through the core node D and a protection path through the core node B. Initially, two traffic flows, #1 and #2, are multiplexed and transmitted over the working path. In the case where a failure occurs in e.g., the physical link between the node C and the node D, an Operation, Administration and Management (OAM) protocol running on the working path will detect the failure and both traffic flows transmitted over the working path should be switched to the protection path.
As known in the art, in 1+1 protection mechanism, traffic data will be broadcasted on both the working path and the protection path, so that the protection switching will be performed on the sink node (the node D in this case) by selecting the un-distorted traffic flow. In 1:1, 1:n or Fast Re-Routing protection mechanism, the traffic will not be broadcasted on both paths and thus the protection switching needs to performed on a source node (the node A in this case), or an intermediate node, typically by switching the next hop information for traffic flows (packets) from the working path to the protection path.
In order to determine the next hop information for an incoming traffic flow, in a conventional switching or routing system, a forwarding key is first extracted from the flow (packet), such as a destination Media Access Control (MAC) address and a Virtual Local Area Network (VLAN) ID for an Ethernet frame, a LSP label for a MPLS packet or an IP destination address for an IP packet. Then, the next hop information can be searched and determined based on the forwarding key. When a network failure occurs and the traffic flow needs to be switched from the working path to the protection path, there are conventionally two approaches for enabling the switching node to forward the traffic flow to the next hop in the protection path. One approach is to directly change the next hop information of the traffic flow to the protection path. According to the other approach, the switching node can maintain for each traffic flow the next hop information in both the working path and the protection path as well as an associated status. If a traffic flow needs to be switched to the protection path due to a network failure, the status of the traffic flow can be changed from a normal status to a failure status such that the switching node can select the next hop information for forwarding the traffic flow based on the failure status. However, both approaches may impose heavy workload on the switching node which carries out the protection switching when a large amount of traffic flows are involved, since, in case of a network failure, all the involved traffic flows need to be switched to the protection path and switching node needs to sequentially determine and change the next hop information or the status for each of these traffic flows.
It will be problematic if there are a large amount of next hop indexes (or next hop information) or traffic flow statuses to be changed. This process may exhaust the CPU I/O bandwidth and thus may inversely affect other CPU applications. Even more importantly, a number of traffic flows may fail to satisfy the switching time requirement (typically 50 ms) due to the slow process.